package com.zzyl.nursing.service.impl;


import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zzyl.common.utils.bean.BeanUtils;
import com.zzyl.nursing.domain.NursingProject;
import com.zzyl.nursing.dto.NursingProjectQueryDto;
import com.zzyl.nursing.mapper.NursingProjectMapper;
import com.zzyl.nursing.service.NursingProjectQueryService;
import com.zzyl.nursing.vo.NursingProjectVo;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

@Service
public class NursingProjectQueryServiceImpl extends ServiceImpl<NursingProjectMapper, NursingProject> implements NursingProjectQueryService {

//    @Override
//    public Page<NursingProjectVo> listPage(NursingProjectQueryDto dto) {
//        // 构建分页对象
//        Page<NursingProject> page = new Page<>(dto.getPageNum(), dto.getPageSize());
//
//        // 构建查询条件
//        LambdaQueryWrapper<NursingProject> wrapper = Wrappers.lambdaQuery();
//        if (dto.getName() != null && !dto.getName().isEmpty()) {
//            wrapper.like(NursingProject::getName, dto.getName());
//        }
//        if (dto.getStatus() != null) {
//            wrapper.eq(NursingProject::getStatus, dto.getStatus());
//        }
//
//        // 执行分页查询
//        IPage<NursingProject> result = baseMapper.selectPage(page, wrapper);
//
//        // 转换为 VO 列表
//        List<NursingProjectVo> voList = new ArrayList<>();
//        for (NursingProject project : result.getRecords()) {
//            NursingProjectVo vo = new NursingProjectVo();
//            BeanUtils.copyProperties(project, vo);
//            voList.add(vo);
//        }
//
//        // 封装返回结果
//        Page<NursingProjectVo> voPage = new Page<>();
//        voPage.setTotal(result.getTotal());
//        voPage.setPages(result.getPages());
//        voPage.setSize(result.getSize());
//        voPage.setCurrent(result.getCurrent());
//        voPage.setRecords(voList);
//
//        return voPage;
//    }
}
